package com.qingcloud.adminbackend.service.impl;


import com.baomidou.mybatisplus.extension.service.IService;
import com.qingcloud.adminbackend.base.ApiTreeNode;
import com.qingcloud.adminbackend.entity.product.SysProductCommandClassify;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.AddSysProductCommandClassifyDTO;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.UpdateSysProductCommandClassifyDTO;

import java.util.List;

/**
 * <p>
 * 产品指令分类 服务类
 * </p>
 *
 * @author yangfan
 * @since 2021-11-09
 */
public interface ISysProductCommandClassifyService extends IService<SysProductCommandClassify> {

    /**
     * 产品指令分类树结构
     *
     * @param productTypeId 产品型号id
     * @return 树结构集合
     */
    List<ApiTreeNode> productCommandClassifyTree(Integer productTypeId);


    /**
     * 新增指令分类
     *
     * @param addSysProductCommandClassifyDTO 新增指令分类请求DTO
     * @return 指令分类id
     */
    Integer addSysProductCommandClassify(AddSysProductCommandClassifyDTO addSysProductCommandClassifyDTO, String currentUserId);

    /**
     * 更新指令分类
     *
     * @param updateSysProductCommandClassifyDTO 更新指令分类请求DTO
     * @return 更新结果
     */
    Boolean updateSysProductCommandClassifyById(UpdateSysProductCommandClassifyDTO updateSysProductCommandClassifyDTO, String currentUserId);

    /**
     * 删除指令分类
     *
     * @param idList 指令分类Id列表
     * @return 删除结果
     */
    Boolean deleteSysProductCommandClassifyList(List<Integer> idList);
}

